home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d8 / zmax.arc / ZMAX.DOC < prev    next >
Text File  |  1990-07-23  |  12KB  |  281 lines

  1.          Zmax            Introduction Guide rev. 0.01           Page 1
  2.  
  3.                                      Zmax
  4.                        Copyright 1990 Micro TECH Systems
  5.                               All Rights Reserved
  6.  
  7.          Zmax  is designed to replace Zmodem. It uses 32 bit CRC's  on
  8.          file data blocks, the same as Zmodem, and 32 bit CRC's on its
  9.          information blocks, Zmodem uses 16 bit.
  10.  
  11.          An  information  block  is  a block  of  data  used  to  send
  12.          information about the name of the file, the receivers  system
  13.          setup, about the next block of actual File Data, etc.
  14.  
  15.          Zmax  is setup to allow almost unlimited future expansion  to
  16.          the protocol while allowing it to remain backwards compatible
  17.          with older versions.
  18.  
  19.          In  stream mode Zmax sends blocks, the size being set by  the
  20.          receiver, of data but doesn't require ACKS from the receiver.
  21.  
  22.          Zmax   should   (depending   on   equipment,   phone   lines,
  23.          implementation, etc.) allow  about 97.5 percent efficiency at
  24.          2400 baud on a 30K file compared to Zmodems 95 percent.
  25.  
  26.          And  unlike Zmodem, Zmax reaches full speed  on  considerably
  27.          smaller  files.  In fact, due to less  "Overhead"  associated
  28.          with  small files, you'll actual achieve a better  efficiency
  29.          rating.
  30.  
  31.          In  Non-Stream mode (which can be set by the receiver OR  the
  32.          sender), Zmax is a super Batch Xmodem or Ymodem depending  on
  33.          the block size. Super because it uses 32 bit CRC's instead of
  34.          16.
  35.  
  36.          Even  using  Ymax  mode (Zmax running  1K  blocks  with  Acks
  37.          required), you'll get faster transfers than under Zmodem.  In
  38.          fact,  there  wasn't any measurable difference  between  Ymax
  39.          mode and Zmax mode on a 30K transfer. At least none that  the
  40.          efficiency  computation  routine showed.
  41.  
  42.          This  is at 2400 baud of course. Non-Stream  protocols  don't
  43.          fair  near  as  well (speed wise) as  Streamed  protocols  at
  44.          highspeeds.
  45.  
  46.          We'll call Zmax running 128 byte blocks with ACKS Xmax  mode.
  47.          Running  in this mode, you'll get about (maybe a tad  better)
  48.          Xmodem speed, but with the additional safty of 32bit CRCs.
  49.  
  50.          I'd suggest allowing your users to directly address the  size
  51.          of the receiver buffers and wheither or not to use ACKS as  I
  52.          have  in  the  Zmax.c driver so they  can  customize  several
  53.          different  versions  to  best fit  the  conditions  they  may
  54.          encounter.
  55.  
  56.          Zmax            Introduction Guide rev. 0.01           Page 2
  57.  
  58.          Why  Non-Stream mode? Two reasons and the first  being  noisy
  59.          lines.
  60.  
  61.          Stream  protocols don't fair well under noisy lines.  If  you
  62.          can SWITCH to non-stream (ack required) during the course  of
  63.          the transfer, your efficiency is generally better.
  64.  
  65.          The  Second reason is computer type. Some computers  can  not
  66.          handle  writing  to the disk and receiving data at  the  same
  67.          time.
  68.  
  69.          If your writing a Zmax driver for a computer that falls  into
  70.          this category, write the block of data to the disk BEFORE you
  71.          ACK  the block. The sender will wait up to 10 seconds  before
  72.          assuming an error has occurred.
  73.  
  74.          As outlined in the code segment, I suggest switching to  NON-
  75.          Stream  mode when your block size reaches 128 bytes.  I  also
  76.          suggest  that you not go below 128 bytes.  Primarily  because
  77.          you  don't save much. It only takes about 2/10's of a  second
  78.          longer to send a 128 byte block over a 64 byte block at  2400
  79.          baud, less at 9600+.
  80.  
  81.          Unlike  Zmodem  which sets an upper limit of  1024  bytes  on
  82.          block  sizes,  Zmax  has  an upper limit  of  over  32K.  One
  83.          shouldn't  go that high, at least with the  modems  currently
  84.          available.  Because  of this, Zmax may be used  as  a  mailer
  85.          protocol without ANY modifications.
  86.  
  87.          Zmax  also has a LOT less CPU overhead than Zmodem so  slower
  88.          computers can drive highspeed modems FASTER.
  89.  
  90.          Zmax  does not encode each byte of data like Zmodem  does.  I
  91.          can't see any real advantage to doing this and it reduces the
  92.          amount of CPU overhead and simplifies the code quite a bit.
  93.  
  94.          Zmax  also  treats all files as Binary 8 bit files  and  will
  95.          require word length to be set to 8, which is the most  common
  96.          setting.
  97.  
  98.          Please  pay  special attention to the timer  functions.  They
  99.          have  been worked out over a two year period of heavy  mailer
  100.          use  under  all kinds of conditions and have proven  to  work
  101.          exceptionally  well on Networks, Satellite Links,  and  under
  102.          Multi-Taskers.  Changing  any  of them can  lead  to  erratic
  103.          behavior on YOUR Zmax implementation.
  104.  
  105.          Zmax  uses  two  block  start  characters,  instead  of   the
  106.          traditional  one. I do that to keep a stray  character  (line
  107.          noise) from accidentally triggering something it shouldn't.
  108.  
  109.  
  110.  
  111.          Zmax            Introduction Guide rev. 0.01           Page 3
  112.  
  113.  
  114.                  Why A Zmodem Replacement in the first place?
  115.  
  116.          Unless your attempting to write a Zmodem driver, you wouldn't
  117.          understand.
  118.  
  119.          Zmodem   isn't  documented  very  well,  in  fact  the   only
  120.          documentation  that  I'm  aware  of  is  the  original   1988
  121.          publication and you'll have a hard time finding that one now.
  122.  
  123.          It  left much to the imagination and were little more than  a
  124.          few sheets of paper glorifying Zmodem. And it only  contained
  125.          scrap segments of code that few could get to work.
  126.  
  127.          The  original designer of Zmodem "SEEMS" to be interested  in
  128.          supporting only his own Zmodem driver.
  129.  
  130.          That's fine, I'm the same way with Tmodem/Translink but  then
  131.          Tmodem/Translink  is  a  proprietary  protocol  and  I'm  not
  132.          interested  in  it  being used outside of  my  mailer  or  my
  133.          protocol driver(s).
  134.  
  135.          Because of this, Zmodem implementations vary depending on who
  136.          wrote it and they aren't always compatible.
  137.  
  138.          There are also other reasons, see the read.me text file. I do
  139.          NOT  know  if the information contained within  the  file  is
  140.          valid  or  not. I'm simply passing on  information  that  *I*
  141.          received which prompted me into finally writing Zmax.
  142.  
  143.          I  think actual CODE is better than extensive  documentation,
  144.          you  can  actual SEE how its suppose to work,  so  Zmax.c  is
  145.          provided.
  146.  
  147.          Zmax.c  is a full functional Zmax driver. You'll not be  able
  148.          to simply compile it because I do use my own libraries,  most
  149.          have Microsoft counter parts. You shouldn't have any  trouble
  150.          telling  WHAT a function does. Zmax.c also  contains  further
  151.          information on specific aspects of Zmax.
  152.  
  153.          If  you  have any questions on ANY part of Zmax, one  of  our
  154.          tech. will be glad to help you with your code implementation.
  155.  
  156.          Just call our customer support CBIS at 1-314-334-6359 and ask
  157.          any  question  you like. Please allow 2 working  days  for  a
  158.          reply.
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.          Zmax            Introduction Guide rev. 0.01           Page 4
  167.  
  168.                                    Zmax.exe
  169.  
  170.          Zmax.exe requires a number of command line switches.
  171.  
  172.          -B <Baud Rate>
  173.          -P <Port Number>
  174.          -L <Serial Lock Rate>
  175.          -R Receive files
  176.          -F <Filenames>
  177.          -K  Keep  interrupted transfers (Do not use if running  on  a
  178.              BBS)
  179.          -B, supported baud rates 300 - 115,200 Baud.
  180.          -P, Supported Com Ports, COM 1 and COM 2.
  181.          -L, Supported Locked Baud Rates, 300 - 115200 Baud.
  182.          -F,  As  many as DOS allows. Full drive, path,  and  filename
  183.               supported. Wildcard characters NOT supported.
  184.          -A, Run in NON-STREAM mode.
  185.          -S  xxxx,  Set block size to XXXX. Valid ranges;  1  -  2048.
  186.                     Going over 1024 at 2400 bps is NOT recommended. If
  187.                     this parameter is used, the -B MUST be used  first
  188.                     because -B will reset the block size according  to
  189.                     baud rate.
  190.  
  191.                    NOTE:   -R  and  -F  MUST  be  the   last
  192.                    parameter on the command line. As soon as
  193.                    Zmax  encounters  either one of these two
  194.                    switches, it will begin to either Receive
  195.                    or Send.
  196.  
  197.          There must be one at least blank space between The switch and
  198.          the parameter..ie. -B<BLANK>2400
  199.  
  200.          The -L switch is only for those that do not have COMx= set in
  201.          the  environment. If your running Osiris then Zmax will   use
  202.          the COMx= automatically.
  203.  
  204.          Sample Osiris Command line (protocol control file)
  205.  
  206.          Send : -B *B -P *P -F *F
  207.          RCV  : -B *B -P *P -R
  208.  
  209.          The Same for QuickTerm.
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.          Zmax            Introduction Guide rev. 0.01           Page 5
  222.  
  223.               Zmax.exe End User (Non Developer) Licensing Information
  224.  
  225.          Zmax  is  NOT public domain. Micro TECH Systems  Retains  ALL
  226.          RIGHTS TO THIS PROTOCOL.
  227.  
  228.          Zmax.exe is provided as shareware to those interested only in
  229.          using the Zmax.exe protocol driver.
  230.  
  231.          A  10  dollar Licensing fee is required if you  use  Zmax.exe
  232.          longer than 30 days.
  233.  
  234.  
  235.                          Developer Licensing Information
  236.  
  237.          Zmax  is  NOT public domain. Micro TECH Systems  Retains  ALL
  238.          RIGHTS TO THIS PROTOCOL.
  239.  
  240.          No  PART  of Zmax may be used in development  of  a  NON-ZMAX
  241.          protocol.
  242.  
  243.          Developers  are  granted  a  license  to  use  Zmax  in  NON-
  244.          COMMERCIAL  applications and environments ONLY.
  245.  
  246.                    A 10 dollar donation is requested to help
  247.                    offset development costs and to help with
  248.                    the  salaries  of the  technical  support
  249.                    person(s).
  250.  
  251.          If  you application is intended for use in a program that  is
  252.          to be sold commercially, including shareware, you must  apply
  253.          for a Zmax COMMERCIAL License.
  254.  
  255.          If  you  intend  to  develop  a Zmax  driver  for  USE  in  a
  256.          commercial environment, you must apply for a Zmax  COMMERCIAL
  257.          license.
  258.  
  259.          All goverment agents Federal, State, and Local must apply for
  260.          a Zmax COMMERICAL license.
  261.  
  262.  
  263.  
  264.  
  265.  
  266.          Zmax            Introduction Guide rev. 0.01           Page 6
  267.  
  268.          You  may  NOT modify Zmax specifications.  Zmax  MUST  remain
  269.          uniform and only Micro TECH Systems may issue NEW or IMPROVED
  270.          Zmax specifications.
  271.  
  272.          If you have a particular item in mind, submit it along with a
  273.          modified Zmax.c (Using our Zmax.c driver code) to Micro  TECH
  274.          Systems.
  275.  
  276.                          Micro TECH Systems
  277.                          555 North Spring, #39
  278.                          Cape Girardeau Mo. 63701
  279.  
  280.                          Data Number  1-314-334-6359
  281.